/**
 * An object that maps a 2 char country code to its official 3 char currency code.
 * [View all supported countries](https://github.com/sumup-oss/intl-js/blob/main/src/data/currencies.ts).
 */
export const currencies = {
  // Andorra
  AD: "EUR",
  // United Arab Emirates
  AE: "AED",
  // Afghanistan
  AF: "AFN",
  // Antigua and Barbuda
  AG: "XCD",
  // Anguilla
  AI: "XCD",
  // Albania
  AL: "ALL",
  // Armenia
  AM: "AMD",
  // Netherlands Antilles
  AN: "ANG",
  // Angola
  AO: "AOA",
  // Antarctica
  AQ: "AQD",
  // Argentina
  AR: "ARS",
  // American Samoa
  AS: "USD",
  // Austria
  AT: "EUR",
  // Australia
  AU: "AUD",
  // Aruba
  AW: "ANG",
  // Aland Islands
  AX: "EUR",
  // Azerbaijan
  AZ: "AZN",
  // Bosnia and Herzegovina
  BA: "BAM",
  // Barbados
  BB: "BBD",
  // Bangladesh
  BD: "BDT",
  // Belgium
  BE: "EUR",
  // Burkina Faso
  BF: "XOF",
  // Bulgaria
  BG: "BGN",
  // Bahrain
  BH: "BHD",
  // Burundi
  BI: "BIF",
  // Benin
  BJ: "XOF",
  // Saint Barthelemy
  BL: "EUR",
  // Bermuda
  BM: "BMD",
  // Brunei Darussalam
  BN: "BND",
  // Bolivia
  BO: "BOB",
  // Brazil
  BR: "BRL",
  // Bahamas
  BS: "BSD",
  // Bhutan
  BT: "INR",
  // Bouvet Island
  BV: "NOK",
  // Botswana
  BW: "BWP",
  // Belarus
  BY: "BYR",
  // Belize
  BZ: "BZD",
  // Canada
  CA: "CAD",
  // Cocos (Keeling) Islands
  CC: "AUD",
  // Congo
  CD: "CDF",
  // Central African Republic
  CF: "XAF",
  // Congo Republic of the Democratic
  CG: "XAF",
  // Switzerland
  CH: "CHF",
  // Ivory Coast
  CI: "XOF",
  // Cook Islands
  CK: "NZD",
  // Chile
  CL: "CLP",
  // Cameroon
  CM: "XAF",
  // China
  CN: "CNY",
  // Colombia
  CO: "COP",
  // Costa Rica
  CR: "CRC",
  // Cuba
  CU: "CUP",
  // Cape Verde
  CV: "CVE",
  // Christmas Island
  CX: "AUD",
  // Cyprus
  CY: "EUR",
  // Czech Republic
  CZ: "CZK",
  // Germany
  DE: "EUR",
  // Djibouti
  DJ: "DJF",
  // Denmark
  DK: "DKK",
  // Dominica
  DM: "XCD",
  // Dominican Republic
  DO: "DOP",
  // Algeria
  DZ: "DZD",
  // Ecuador
  EC: "USD",
  // Estonia
  EE: "EUR",
  // Egypt
  EG: "EGP",
  // Western Sahara
  EH: "MAD",
  // Eritrea
  ER: "ERN",
  // Spain
  ES: "EUR",
  // Ethiopia
  ET: "ETB",
  // Finland
  FI: "EUR",
  // Fiji
  FJ: "FJD",
  // Falkland Islands (Malvinas)
  FK: "FKP",
  // Micronesia Federated States of
  FM: "USD",
  // Faroe Islands
  FO: "DKK",
  // France
  FR: "EUR",
  // Gabon
  GA: "XAF",
  // United Kingdom
  GB: "GBP",
  // Grenada
  GD: "XCD",
  // Georgia
  GE: "GEL",
  // French Guiana
  GF: "EUR",
  // Guernsey
  GG: "GGP",
  // Ghana
  GH: "GHS",
  // Gibraltar
  GI: "GIP",
  // Greenland
  GL: "DKK",
  // Gambia
  GM: "GMD",
  // Guinea
  GN: "GNF",
  // Guadeloupe
  GP: "EUR",
  // Equatorial Guinea
  GQ: "XAF",
  // Greece
  GR: "EUR",
  // South Georgia and the South Sandwich Islands
  GS: "GBP",
  // Guatemala
  GT: "GTQ",
  // Guam
  GU: "USD",
  // Guinea-Bissau
  GW: "XOF",
  // Guyana
  GY: "GYD",
  // Hong Kong
  HK: "HKD",
  // Heard and Mc Donald Islands
  HM: "AUD",
  // Honduras
  HN: "HNL",
  // Croatia (Hrvatska)
  HR: "EUR",
  // Haiti
  HT: "HTG",
  // Hungary
  HU: "HUF",
  // Indonesia
  ID: "IDR",
  // Ireland
  IE: "EUR",
  // Israel
  IL: "ILS",
  // Isle of Man
  IM: "GBP",
  // India
  IN: "INR",
  // British Indian Ocean Territory
  IO: "USD",
  // Iraq
  IQ: "IQD",
  // Iran (Islamic Republic of)
  IR: "IRR",
  // Iceland
  IS: "ISK",
  // Italy
  IT: "EUR",
  // Jersey
  JE: "GBP",
  // Jamaica
  JM: "JMD",
  // Jordan
  JO: "JOD",
  // Japan
  JP: "JPY",
  // Kenya
  KE: "KES",
  // Kyrgyzstan
  KG: "KGS",
  // Cambodia
  KH: "KHR",
  // Kiribati
  KI: "AUD",
  // Comoros
  KM: "KMF",
  // Saint Kitts
  KN: "XCD",
  // Korea North
  KP: "KPW",
  // Korea South
  KR: "KRW",
  // Kuwait
  KW: "KWD",
  // Cayman Islands
  KY: "KYD",
  // Kazakhstan
  KZ: "KZT",
  // Laos
  LA: "LAK",
  // Lebanon
  LB: "LBP",
  // Saint Lucia
  LC: "XCD",
  // Liechtenstein
  LI: "CHF",
  // Sri Lanka
  LK: "LKR",
  // Liberia
  LR: "LRD",
  // Lesotho
  LS: "LSL",
  // Lithuania
  LT: "EUR",
  // Luxembourg
  LU: "EUR",
  // Latvia
  LV: "EUR",
  // Libyan Arab Jamahiriya
  LY: "LYD",
  // Morocco
  MA: "MAD",
  // Monaco
  MC: "EUR",
  // Moldova Republic of
  MD: "MDL",
  // Montenegro
  ME: "EUR",
  // Saint Martin (French part)
  MF: "EUR",
  // Madagascar
  MG: "MGA",
  // Marshall Islands
  MH: "USD",
  // Macedonia
  MK: "MKD",
  // Mali
  ML: "XOF",
  // Myanmar
  MM: "MMK",
  // Mongolia
  MN: "MNT",
  // Macau
  MO: "MOP",
  // Northern Mariana Islands
  MP: "USD",
  // Martinique
  MQ: "EUR",
  // Mauritania
  MR: "MRO",
  // Montserrat
  MS: "XCD",
  // Malta
  MT: "EUR",
  // Mauritius
  MU: "MUR",
  // Maldives
  MV: "MVR",
  // Malawi
  MW: "MWK",
  // Mexico
  MX: "MXN",
  // Malaysia
  MY: "MYR",
  // Mozambique
  MZ: "MZN",
  // Namibia
  NA: "NAD",
  // New Caledonia
  NC: "XPF",
  // Niger
  NE: "XOF",
  // Norfolk Island
  NF: "AUD",
  // Nigeria
  NG: "NGN",
  // Nicaragua
  NI: "NIO",
  // Netherlands
  NL: "EUR",
  // Norway
  NO: "NOK",
  // Nepal
  NP: "NPR",
  // Nauru
  NR: "AUD",
  // Niue
  NU: "NZD",
  // New Zealand
  NZ: "NZD",
  // Oman
  OM: "OMR",
  // Panama
  PA: "PAB",
  // Peru
  PE: "PEN",
  // French Polynesia
  PF: "XPF",
  // Papua New Guinea
  PG: "PGK",
  // Philippines
  PH: "PHP",
  // Pakistan
  PK: "PKR",
  // Poland
  PL: "PLN",
  // Saint Pierre and Miquelon
  PM: "EUR",
  // Pitcairn
  PN: "NZD",
  // Puerto Rico
  PR: "USD",
  // Palestinian Territory
  PS: "JOD",
  // Portugal
  PT: "EUR",
  // Palau
  PW: "USD",
  // Paraguay
  PY: "PYG",
  // Qatar
  QA: "QAR",
  // Reunion
  RE: "EUR",
  // Romania
  RO: "RON",
  // Serbia
  RS: "RSD",
  // Russian Federation
  RU: "RUB",
  // Rwanda
  RW: "RWF",
  // Saudi Arabia
  SA: "SAR",
  // Solomon Islands
  SB: "SBD",
  // Seychelles
  SC: "SCR",
  // Sudan
  SD: "SDG",
  // Sweden
  SE: "SEK",
  // Singapore
  SG: "SGD",
  // Saint Helena
  SH: "GBP",
  // Slovenia
  SI: "EUR",
  // Svalbard and Jan Mayen Islands
  SJ: "NOK",
  // Slovakia (Slovak Republic)
  SK: "EUR",
  // Sierra Leone
  SL: "SLL",
  // San Marino
  SM: "EUR",
  // Senegal
  SN: "XOF",
  // Somalia
  SO: "SOS",
  // Suriname
  SR: "SRD",
  // Sao Tome and Principe
  ST: "STD",
  // El Salvador
  SV: "USD",
  // Syrian Arab Republic
  SY: "SYP",
  // Swaziland
  SZ: "SZL",
  // Turks and Caicos Islands
  TC: "USD",
  // Chad
  TD: "XAF",
  // French Southern Territories
  TF: "EUR",
  // Togo
  TG: "XOF",
  // Thailand
  TH: "THB",
  // Tajikistan
  TJ: "TJS",
  // Tokelau
  TK: "NZD",
  // East Timor
  TL: "IDR",
  // Turkmenistan
  TM: "TMT",
  // Tunisia
  TN: "TND",
  // Tonga
  TO: "TOP",
  // Turkey
  TR: "TRY",
  // Trinidad and Tobago
  TT: "TTD",
  // Tuvalu
  TV: "AUD",
  // Taiwan
  TW: "TWD",
  // Tanzania
  TZ: "TZS",
  // Ukraine
  UA: "UAH",
  // Uganda
  UG: "UGX",
  // United States Minor Outlying Islands
  UM: "USD",
  // United States
  US: "USD",
  // Uruguay
  UY: "UYU",
  // Uzbekistan
  UZ: "UZS",
  // Vatican City State (Holy See)
  VA: "EUR",
  // Saint Vincent Grenadines
  VC: "XCD",
  // Venezuela
  VE: "VEF",
  // Virgin Islands (British)
  VG: "USD",
  // Virgin Islands (US)
  VI: "USD",
  // Vietnam
  VN: "VND",
  // Vanuatu
  VU: "VUV",
  // Wallis and Futuna Islands
  WF: "XPF",
  // Samoa
  WS: "WST",
  // Yemen
  YE: "YER",
  // Mayotte
  YT: "EUR",
  // South Africa
  ZA: "ZAR",
  // Zambia
  ZM: "ZMW",
  // Zimbabwe
  ZW: "ZWD",
};

const uniqueSet = new Set(Object.values(currencies));

export const uniqueCurrencies = [...uniqueSet];
